package com.eco.fanliapp.utils;

import java.util.ArrayList;
import java.util.List;

/**
 * 集合处理
 * @author zhuchao
 * @create 2019-09-16 15:04
 */
public class CollectionHandleUtils {
	/**
	 * 切分list集合
	 * @param list
	 * @param pageSize
	 * @param <T>
	 * @return
	 */
	public static <T> List<List<T>> splitList(List<T> list, int pageSize){

		/*
		 *
		 * pageSize -> 每页的数据条数
		 * listSize -> 总共的数据条数
		 * page -> 总页数
		 *
		 * */
		int listSize = list.size();
		int page = (listSize + (pageSize - 1)) / pageSize;

		List<List<T>> listArray = new ArrayList<List<T>>();
		for (int i = 0; i < page; i++) {
			List<T> subList = new ArrayList<T>();
			for (int j = 0; j < listSize; j++) {
				int pageIndex = ((j + 1) + (pageSize - 1)) / pageSize;
				if (pageIndex == (i + 1)) {
					subList.add(list.get(j));
				}
				if ((j + 1) == ((j + 1) * pageSize))
				{
					break;
				}
			}
			listArray.add(subList);
		}
		return listArray;
	}
}
